1) Field of the Invention
The present invention relates to an information reproducing apparatus and a secure module. In particular, the present invention relates to an information reproducing apparatus for reproducing information which is transmitted through a transmission medium or stored in a recording medium, and a secure module which is detachably mounted on an information reproducing apparatus and executes processing related to security when the information reproducing apparatus reproduces information which is transmitted through a transmission medium or stored in a recording medium.
2) Description of the Related Art
Recently, use of the broadband Internet and digital television are widely spreading, and right protection technology for securing safety of delivered content (mainly digital AV content) is coming to the fore. In particular, personal computers (PCs) use open architectures, and can be peeped at by basically anybody. Therefore, it has been considered that securing of safety is difficult.
However, the personal computers are main gates of the broadband Internet. Therefore, if safety of the personal computers can be secured, the digital AV content can be delivered to the entire Internet. That is, the securing of safety of the personal computers is very significant.
The conventional attempts mainly made to protect rights on personal computer software are concealment and obfuscation of algorithms for securing safety. However, once software is installed in a main memory of a personal computer, copying is easy, and the algorithms for protecting rights can be analyzed by putting much time in analysis of the copied software. That is, the conventional systems for protecting rights are considered to be very insecure. In particular, since damage from analysis of copied software in highly public systems such as broadcasting systems is considered to be serious, it is difficult to use the conventional systems for protecting rights in the highly public systems.
FIG. 10 is a diagram illustrating an example of a construction of a conventional system using a personal computer. As illustrated in this diagram, the conventional system comprises a personal computer 50, a network 51, a speaker 52, a display device 53, and an input device 54.
The personal computer 50 comprises a CPU (central processing unit) 50a, a ROM (read-only memory) 50b, a RAM (random access memory) 50c, an HDD (hard disk drive) 50d, an MB (multimedia board) 50f, I/Fs (interfaces) 50g and 50h, and a bus 50i. The personal computer 50 decodes information which is downloaded through the network 51, and outputs the decoded information to the speaker 52 and the display device 53.
The CPU 50a performs various types of processing and controls the respective portions of the apparatus, in accordance with programs stored in the HDD 50d. 
The ROM 50b stores data, programs which are executed by the CPU 50a, and other information.
The RAM 50c temporarily stores data and programs to be executed by the CPU 50a when CPU 50a performs the various types of processing.
The HDD 50d stores data, the programs executed by the CPU 50a, and the like.
The MB 50f decodes encoded sound data and image data which are supplied from the CPU 50a, generates an original sound signal and an original image signal, and outputs the generated original sound signal and image signal to the speaker 52 and the display device 53, respectively.
The I/F 50g is an interface for transmission and reception of information through the network 51, and performs protocol conversion and data format conversion.
The I/F 50h converts data supplied from the input device 54, into an internal format of the personal computer 50.
The bus 50i interconnects the CPU 50a, the ROM 50b, the RAM 50c, the HDD 50d, the MB 50f, and the I/Fs 50g and 50h, and enables exchange of information between the CPU 50a, the ROM 50b, the RAM 50c, the HDD 50d, the MB 50f, and the I/Fs 50g and 50h. 
The network 51 is constituted by, for example, the Internet, and the personal computer 50 exchanges information with a server or the like connected to the network 51.
The speaker 52 converts a sound signal supplied from the MB 50f, into sound corresponding to the sound signal, and outputs the sound.
The display device 53 is constituted by, for example, a CRT (cathode ray tube) monitor or a liquid crystal monitor, and displays an image corresponding to an image signal supplied from the MB 50f. 
The input device 54 is constituted by, for example, a mouse or a keyboard, and generates and outputs information corresponding to user manipulation.
FIG. 11 is a diagram illustrating a flow of information in the personal computer 50 illustrated in FIG. 10.
As illustrated in FIG. 11, the HDD 50d stores basic software, a decryption-key group, and encrypted content. The basic software is software for performing processing for decrypting the encrypted content, and other processing, and is obfuscated in order to prevent decryption by a malicious user. In the obfuscation, the following processing is performed.
Before obfuscation:X=X+Y 
After obfuscation:X=X*2+1+Y*2−1X=X÷2
That is, although the results of calculations before and after the obfuscation are identical, it is difficult to analyze the algorithm after the obfuscation.
The decryption-key group is a group of a plurality of keys for decrypting encryptions applied to the encrypted content. In order to prevent a malicious user from easily acquiring the decryption keys, the decryption keys are confidentially scrambled, and stored in a secret place.
The encrypted content is content on which encryption processing is performed, and is constituted by, for example, images, sound, computer data, and the like.
When reproduction of the encrypted content is started, the following processing is executed.
(1) The obfuscated basic software is read out from the HDD 50d, and loaded in the RAM 50c. 
(2) Thereafter, the basic software read out as above is stored in a secret place when necessary, and a confidentially scrambled decryption key is read out from the HDD 50d. For example, the decryption keys are stored in three to five secret places. Further, a provision is made so that a desired key can be obtained only when secret calculation or the like is performed.
(3) The encrypted content is read out, and the encryption applied to the content is decrypted by using the decryption key.
(4) Subsequently, in the case where the decrypted content is compressed, expansion processing (such as MPEG expansion processing in the case of video content or MPEG audio expansion processing in the case of audio content) is performed. Data obtained by the processing is stored in an image buffer and a sound buffer in the RAM 50c, and is then output to the MB 50f. 
(5) The MB 50f performs D/A conversion processing of the supplied image data so as to obtain a sound signal, executes drawing processing in accordance with the image data so as to obtain an image signal, and outputs the sound signal and the image signal to the speaker 52 and the display device 53, respectively.
However, in the above processing, the basic software is loaded in the RAM 50c in the personal computer 50. Therefore, there is a danger that the basic software is decrypted or copied by a malicious user. Even in the case where all of the basic software and other software which are stored in the HDD 50d are encrypted, when software for decrypting an encryption exists in a place in the personal computer 50, and a place in which a decryption key is stored is determined by analyzing the software for decrypting the encryption, the basic software can be analyzed and the algorithm for protecting rights is revealed.
Therefore, highly public networks such as broadcasting networks require a processing method which does not allow easy decryption of content even when an algorithm is revealed. In the current hardware-dominated digital television receivers, encryptions based on MULTI2, DES (data encryption standard), and the like are used. Although the algorithms of those encryptions are well known, it is impossible to decrypt the encryptions applied to content unless “decryption keys” are known.
In addition, the “decryption keys” are built in hardware, and the apparatuses are configured so that the “decryption keys” cannot be read out onto software. Further, since decryption circuits and content processing circuits (e.g., MPEG video expansion circuits and MPEG audio expansion circuits) are also realized by hardware, it is very difficult to peep at details of the processing. Therefore, it is considered that hardware-dominated digital broadcast receiver is safe, and such systems are already commercialized. The receivers for SKY PerfecTV (trademark) in Japan and DirecTV (trademark) in the United States are good examples of the hardware-dominated digital broadcast receivers.
On the other hand, in the case of software processing, the “decryption keys,” “decryption circuits,” and “content processing circuits” (e.g., MPEG video expansion circuits and MPEG audio expansion circuits) are realized by software, and basic software realizing the processing per se and progress of calculations are loaded in the RAM 50c, which can be easily accessed. That is, it is easy to analyze and peep at the basic software per se and the progress of calculations.